[C] Raiz quadrada

Publicado por Enzo de Brito Ferber 22/02/2006

[ Hits: 13.358 ]

Homepage: http://www.maximasonorizacao.com.br

Download sqrt.c




Script diz a raiz quadrada aproximada
do numero digitado. Raiz quadrada e
extraida por tentativas. (Função,
loops, tomadas de decisões)

  



Esconder código-fonte

#include <stdio.h>
#include <stdlib.h>


int sqrtt(int num){
   int i;
   int sqr;
   for(i = 0;;i++){
      printf("%d * %d = %d\n", i,i,(i*i));
      if(i*i == num){
         sqr = i;
         break;
      }
      if(i*i < num)
         continue;
      if(i*i > num){
         sqr = i-1;
         break;
      }
   }
   return sqr;
}

int main(){
   int i;
   int sq;
   char tec;
   do{
      system("clear");
      printf("Digite o numero a se retirar a raiz: ");
      scanf("%d", &sq);
      i = sqrtt(sq);
      printf("Raiz Quadrada: %d", i);
                __fpurge(stdin);
                tec = getchar();
   }while(1);
}

Scripts recomendados

Exibi os números primos de um numero recebido pelo usuário, sem estrutura de repetição

Ponteiros

Vírus didático para Linux em C

Compactador Simples

Manipulando árvores.


  

Comentários
[1] Comentário enviado por hgalvao em 11/02/2016 - 20:54h

void sqrt(float n)
{
int count = 0;
float r, sq;
r = sq = 1;
while((sq - n > 0.0001) || (sq - n < -0.0001))
{
r = (sq+n)/(2*r);
sq = r*r;
count++;
}
return r;
}

[2] Comentário enviado por EnzoFerber em 16/02/2016 - 17:47h


[1] Comentário enviado por hgalvao em 11/02/2016 - 20:54h

void sqrt(float n)
{
int count = 0;
float r, sq;
r = sq = 1;
while((sq - n > 0.0001) || (sq - n < -0.0001))
{
r = (sq+n)/(2*r);
sq = r*r;
count++;
}
return r;
}


Método de Newton, muito bom.
Precisa apenas mudar o tipo de retorno da função para float.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts